<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>代码的安全网</title>
    <meta content="1200" property="og:image:width"/>
    <meta content="630" property="og:image:height"/>
    <link rel="icon" href="../../img/icon.png">
    <link as="font" crossorigin="" href="../../Agrandir-Heavy.2fd076131b76.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../Agrandir-Bold.5adcade67872.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../source-sans-pro-v14-latin-regular.899c8f78ce65.woff2"
          rel="preload" type="font/woff2"/>
    <link as="font" crossorigin="" href="../../Agrandir-Regular.11a4ceb99823.woff2" rel="preload"
          type="font/woff2"/>
    <link as="font" crossorigin="" href="../../source-sans-pro-v14-latin-600.c85615b29630.woff2" rel="preload"
          type="font/woff2"/>
    <link href="../../common.0016184b0568.css" rel="stylesheet" type="text/css"/>
    <link href="../../home.a12d472bcf09.css" rel="stylesheet" type="text/css"/>
    <link href="../content-page.css" rel="stylesheet" type="text/css"/>
</head>
<header class="site-header">
    <br/>
    <h1 style="margin: 0 auto;text-align: left;margin: 0 50px;color: white;font-size: 3.5rem">
        <img src="../../svg/icon-white.svg" height="80" width="80"/>&nbsp;&nbsp;Neil's wiki
        <button class="subscribe" onclick="location.href='../subscribe/index.html'">Subscribe</button>
    </h1>
    <br/>
</header>
<body class="content-body">
<div class="content-body-class">
    <h1 class="hosting-pricing-plan-block__header">代码的安全网</h1>
    <div class="content-infos">
        <h1 class="content-h1">案例</h1>
        <div class="content-words">
            代码的安全网，这个概念，要先从一个TDD的题目说起：
        </div>
        <div class="content-unlist">
            • <a href="https://github.com/emilybache/GildedRose-Refactoring-Kata">https://github.com/emilybache/GildedRose-Refactoring-Kata</a>
        </div>
        <div class="content-words">
            这是一个很有意思的业务，想法来源于魔兽世界。
        </div>
        <div class="content-words">
            镶金玫瑰是魔兽世界里的小商店，地段超好。老板叫艾利森，是个友善的人。出售的商品也都是高质量的。
        </div>
        <div class="content-words">
            镶金玫瑰商店用一个IT系统来更新库存信息。开发这个系统的程序员叫勒罗伊，他已经不在了。现在，你的任务就是要在这个系统中添加新的特性，这样商店就可以销售新的商品。
        </div>
        <div class="content-words">
            勒罗伊留下的代码质量不算好。所以你需要先重构原来的代码，然后再添加新的功能。
        </div>
        <div class="content-words">
            拿到任何祖传代码，都别急着去动手修改。首先你需要给它构建最基本的安全网。在今天的视频里，我展示了一个给祖传代码构建安全网的手法：录制/回放。先把原来的系统正常使用情况下的输入/输出录制起来，每次重构之后再用同样的输入来运行系统，将输出结果与记录起来的输出基线做对比，确保系统行为没有被改变。
        </div>
        <div class="content-words">
            请到B站查看 <i>Jeff Xiong</i> 的重构视频，以此详细了解代码的安全网：
        </div>
        <div class="content-unlist">
            • <a
                href="https://www.bilibili.com/video/av65898345/?p=1">https://www.bilibili.com/video/av65898345/?p=1</a>
        </div>
    </div>
</div>
</body>
</html>
<div class="back-to-home-page">
    <a class="call-to-action__link button" href="/">返回首页</a>
</div>
